/**
 * 从数组的末尾删除元素，直到通过函数返回true。 返回数组中的剩余元素。

  循环通过阵列，使用“array.prototype.slice（）删除数组的最后一个元素，直到从func返回的值是true`。
  返回剩余的元素。
 */
const dropRightWhile = (arr, func) => {
  let rightIndex = arr.length;
  while (rightIndex-- && !func(arr[rightIndex]));
  return arr.slice(0, rightIndex + 1);
};
console.log(dropRightWhile([1, 2, 3, 4], (n) => n < 3));
